package cn.edu.baiyunu.myapplication.utils

import android.content.Context
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.net.Uri
import android.util.Log
import java.io.File
import java.io.IOException

/**
 * 位图工具类
 */
object BitmapUtils {
    
    private const val TAG = "BitmapUtils"
    
    /**
     * 从Uri获取Bitmap
     */
    fun getBitmapFromUri(context: Context, uri: Uri): Bitmap? {
        return try {
            context.contentResolver.openInputStream(uri)?.use { inputStream ->
                BitmapFactory.decodeStream(inputStream)
            }
        } catch (e: IOException) {
            Log.e(TAG, "无法从Uri加载位图: ${e.message}")
            null
        }
    }
    
    /**
     * 从文件加载Bitmap
     */
    fun getBitmapFromFile(file: File): Bitmap? {
        return try {
            if (!file.exists()) {
                Log.e(TAG, "文件不存在: ${file.absolutePath}")
                return null
            }
            BitmapFactory.decodeFile(file.absolutePath)
        } catch (e: IOException) {
            Log.e(TAG, "无法从文件加载位图: ${e.message}")
            null
        }
    }
    
    /**
     * 调整Bitmap大小
     */
    fun resizeBitmap(bitmap: Bitmap, width: Int, height: Int): Bitmap {
        return Bitmap.createScaledBitmap(bitmap, width, height, true)
    }
} 